﻿using ExcellentProjectPlus.Aplicacion.Cuestionarios.CuestionarioPreguntas;
using ExcellentProjectPlus.Dominio.Cuestionarios.Entidades;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;

namespace Servicios.Cuestionarios.Controllers
{
    public class CuestionarioPreguntasController : ApiController
    {

        #region Propiedades
        IServicioDeGestionDeCuestionarioPreguntas  _servicioDeGestionDeCuestionarios;
        #endregion

        #region Constructores
        public CuestionarioPreguntasController(IServicioDeGestionDeCuestionarioPreguntas servicioDeGestionDeCuestionarios)
        {
            _servicioDeGestionDeCuestionarios = servicioDeGestionDeCuestionarios;
        }
        #endregion
        public IHttpActionResult Get(int idCuestionario)
        {
            return Ok(_servicioDeGestionDeCuestionarios.ObtenerCuestionarioPreguntasConDetalle(idCuestionario));
        }
        
        public IHttpActionResult Get(int idCuestionario, int id)
        {
            return Ok();
        }

        public IHttpActionResult Post(int idCuestionario, PreguntaCuestionario preguntaCuestionario)
        {
            if (idCuestionario != preguntaCuestionario.IdCuestionario)
                return BadRequest();
            _servicioDeGestionDeCuestionarios.AgregarCuestionarioPregunta(preguntaCuestionario);

            return CreatedAtRoute("DefaultApi", new { id = preguntaCuestionario.IdCuestionario }, preguntaCuestionario);
        }

        public IHttpActionResult Delete(int idCuestionario, int idPregunta)
        {
            _servicioDeGestionDeCuestionarios.EliminarPreguntaCuestionario(idCuestionario, idPregunta);
            return Ok();
        }
    }
}
